gusucode.com > 耐品图片管理系统 标准版A > 耐品图片管理系统 标准版A/Admin_Database.asp
<!--#include file="Admin_ChkPurview.asp"--> <% '=============================================================== ' 著作权号:中国国家版权局著作权登记号2004SR07385 ' 版权所有:深圳市耐品科技开发有限公司 www.naipin.com ' 联系电话:0755-26611119 81234844 81234845 ' 联系手机:13316911914 ' 联系邮箱:naipin@naipin.com '=============================================================== %> <html> <head> <title>数据库备份</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <% Dim Action,ObjInstalled Action=trim(request("Action")) ObjInstalled=Netout.ObjectInstalled("Scripting.FileSystemObject") Behind.WriteHtmlHead Title="数 据 库 管 理" Link="<a href='Admin_Database.asp?Action=Backup' class='black'>备份数据库</a> | <a href='Admin_Database.asp?Action=Restore' class='black'>恢复数据库</a> "&_ "| <a href='Admin_Database.asp?Action=Compact' class='black'>压缩数据库</a> | "&_ "<a href='Admin_Database.asp?Action=Init' class='black'>系统初始化</a> | <a href='Admin_Database.asp?Action=DataSize' class='black'>系统空间占用情况</a>" Behind.WriteHtmlTop Title,Link Select Case Action Case "Backup","BackupData" Call ShowBackup() Case "Compact","CompactData" Call ShowCompact() Case "Restore","RestoreData" Call ShowRestore() Case "Init","Clear" Call ShowInit() Case "DataSize" Call ShowDataSize() Case Else FoundErr = True ErrMsg = ErrMsg & "<br><li>错误参数!</li>" End Select IF FoundErr = True Then Behind.WriteErrMsg(ErrMsg) End IF Sub ShowBackup() %> <form method="post" action="Admin_Database.asp?action=BackupData"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="border"> <tr> <td align="center" valign="middle" class="tdbg1" style="border-bottom: 1 solid #999999"><b>备 份 数 据 库</b></td> </tr> <tr class="tdbg"> <td height="150" align="center" valign="middle"> <% IF Request("action")="BackupData" Then Call backupdata() Else %> <table cellpadding="3" cellspacing="1" border="0" width="100%"> <tr> <td width="200" height="33" align="right">备份目录:</td> <td><input type=text size=20 name=bkfolder value=Databackup></td> <td>相对路径目录,如目录不存在,将自动创建</td> </tr> <tr> <td width="200" height="34" align="right">备份名称:</td> <td height="34"><input type=text size=20 name=bkDBname></td> <td height="34">如有同名文件,将覆盖</td> </tr> <tr align="center"> <td height="40" colspan="3"><input name="submit" type=submit value=" 开始备份 " <%If ObjInstalled=false Then response.Write "disabled"%>></td> </tr> </table> <% If ObjInstalled=false Then Response.Write "<b><font color=red>您的服务器不支持 FSO(Scripting.FileSystemObject)! 不能使用本功能</font></b>" End IF End IF %> </td> </tr> </table> </form> <% End Sub sub ShowCompact() %> <form method="post" action="Admin_Database.asp?action=CompactData"> <table class="border" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr class="title"> <td align="center" valign="middle" class="tdbg1" style="border-bottom: 1 solid #999999"><b>数据库在线压缩</b></td> </tr> <tr class="tdbg"> <td align="center" height="150" valign="middle"> <% if request("action")="CompactData" then Call CompactData() Else %> <br> <br> <br> 数据库路径:<input name="strdbpath" type=text id="strdbpath" value="DataBackup/" size=50 maxlength="200"><br> <br> <input name="submit" type=submit value=" 压缩数据库 " <%If ObjInstalled=false Then response.Write "disabled"%>> <br> <br> <% If ObjInstalled=false Then Response.Write "<b><font color=red>您的服务器不支持 FSO(Scripting.FileSystemObject)! 不能使用本功能</font></b>" End IF End IF %> </td> </tr> </table> </form> <% end sub sub ShowRestore() %> <form method="post" action="Admin_Database.asp?action=RestoreData"> <table width="100%" class="border" border="0" align="center" cellpadding="0" cellspacing="0"> <tr class="title"> <td align="center" valign="middle" class="tdbg1" style="border-bottom: 1 solid #999999"><b>数据库恢复</b></td> </tr> <tr class="tdbg"> <td align="center" height="150" valign="middle"> <% if request("action")="RestoreData" then call RestoreData() else %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="200" height="30" align="right">备份数据库路径(相对):</td> <td height="30"><input name=backpath type=text id="backpath" value="DataBackup/" size=50 maxlength="200"></td> </tr> <tr align="center"> <td height="40" colspan="2"><input name="submit" type=submit value=" 恢复数据 " <%If ObjInstalled=false Then response.Write "disabled"%>></td> </tr> </table> <% If ObjInstalled=false Then Response.Write "<b><font color=red>您的服务器不支持 FSO(Scripting.FileSystemObject)! 不能使用本功能</font></b>" end if end if %> </td> </tr> </table> </form> <% end sub sub ShowInit() %> <form action="Admin_Database.asp" method="post" name="form1" id="form1" onSubmit="return confirm('确实要清除选定的表吗?一旦清除将无法恢复!');"> <table class="border" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr class="title"> <td align="center" valign="middle" class="tdbg1" style="border-bottom: 1 solid #999999"><b>系 统 初 始 化</b></td> </tr> <tr class="tdbg"> <td width="100%" height="150" align=center valign="middle"> <% if Action="Clear" then call ClearData() else %> <b><br> <font color="#FF0000">请慎用此功能,使用之前先备份数据库,因为一旦清除将无法恢复!<br> 清空后的图片文件将永远不能恢复!</font> <br> <br> 将选择您要清空的数据库:<br> <br> </b> <table border="0" cellpadding="0" cellspacing="5"> <tr> <td><input name="Class" type="checkbox" id="Class" value="1" onClick="javascript:Title.checked=Title.disabled=this.checked;Comment.checked=Comment.disabled=this.checked;">图片分类</td> </tr> <tr> <td><input name="Special" type="checkbox" id="Special" value="1">图片专题</td> </tr> <tr> <td><input name="Title" type="checkbox" id="Title" value="1" onClick="javascript:Comment.checked=Comment.disabled=this.checked;">所有图片</td> </tr> <tr> <td><input name="Comment" type="checkbox" id="Comment" value="1">所有评论</td> </tr> <tr> <td><input name="Announce" type="checkbox" id="Announce" value="1">公 告</td> </tr> <tr> <td><input name="FriendSite" type="checkbox" id="FriendSite" value="1">友情链接</td> </tr> <tr> <td height="40" align="center"><input name="Action" type="hidden" id="Action" value="Clear"><input type="submit" name="Submit" value="清除数据"></td> </tr> </table> <% end if %> </td> </tr> </table> </form> <% end sub sub ShowDataSize() set fso=server.createobject("scripting.filesystemobject")%> <table class="border" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr class="title"> <td align="center" valign="middle" class="tdbg1" style="border-bottom: 1 solid #999999"><b>系统空间占用情况</b></td> </tr> <tr class="tdbg"> <td width="100%" align=center valign="middle"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="right"> </td> <td> </td> </tr> <tr> <td align="right"> </td> <td> </td> </tr> <% Length = Cstr(Round(Netout.GetFolderSize(".")/1024/1024,1)) If Left(Length,1) = "." Then Length = "0"&Length %> <tr> <td align="right">您目前已经使用了:</td> <td><IMG height=10 src="images/bar1.gif" width="<%=Length*400/Config.Settings(26)%>"><%=Length%> MB</td> </tr> <tr> <td align="right"> </td> <td> </td> </tr> <% ImageUsed=Netout.GetFolderSize(Config.ImagePath(0))+Netout.GetfolderSize(Config.ImagePath(1))+Netout.GetFolderSize(Config.ImagePath(2)) Length = Cstr(Round(ImageUsed/1024/1024,1)) If Left(Length,1) = "." Then Length = "0"&Length %> <tr> <td width="23%" align="right">其中上传图片占用:</td> <td><IMG height=10 src="images/bar1.gif" width="<%=Length*400/Config.Settings(26)%>"><%=Length%> MB</td> </tr> <tr> <td align="right"> </td> <td> </td> </tr> <tr> <td align="right"> </td> <td> </td> </tr> <%set fso=nothing%> </table></td> </tr> </table> <% End sub sub BackupData() dim bkfolder,bkdbname,fso bkfolder=trim(request("bkfolder")) bkdbname=trim(request("bkdbname")) if bkfolder="" then FoundErr=True ErrMsg=ErrMsg & "<br><li>请指定备份目录!</li>" end if if bkdbname="" then FoundErr=True ErrMsg=ErrMsg & "<br><li>请指定备份文件名</li>" end if if FoundErr=True then exit sub bkfolder=server.MapPath(bkfolder) Set Fso=server.createobject("scripting.filesystemobject") if fso.FileExists(datafile) then If fso.FolderExists(bkfolder)=false Then fso.CreateFolder(bkfolder) end if fso.copyfile datafile,bkfolder & "\" & bkdbname response.write "<center>备份数据库成功,备份的数据库为 " & bkfolder & "\" & bkdbname & "</center>" Else response.write "<center>找不到源数据库文件,请检查inc/conn.asp中的配置。</center>" End if end sub sub CompactData() Dim fso, Engine, strdatafile,tempDb strdbPath = Trim(Request.Form("strdbpath")) strdbPath = Server.MapPath(strdbpath) tempDb = Left(strdbPath,InStrRev(strdbPath,"\")-1) & "temp.mdb" Set fso = Server.CreateObject("Scripting.FileSystemObject") If fso.FileExists(strdbPath) Then Set Engine = CreateObject("JRO.JetEngine") Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strdbPath, _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & tempDb fso.CopyFile tempDb,strdbPath fso.DeleteFile(tempDb) Set fso = nothing Set Engine = nothing response.write "数据库压缩成功!" Else response.write "数据库没有找到!" End If end sub Sub RestoreData() Dim backpath,fso backpath = Trim(Request.Form("backpath")) backpath = Server.Mappath(backpath) IF backpath="" Then FoundErr = True ErrMsg = ErrMsg & "<br><li>请指定原备份的数据库文件名!<li>" Exit Sub End IF Set Fso = Server.Createobject("Scripting.FileSystemObject") IF Fso.FileExists(backpath) Then Fso.CopyFile backpath,datafile Response.Write "成功恢复数据!" Else Response.Write "找不到指定的备份文件!" End IF End Sub Sub ClearData() Dim z:z=0 IF Request.Form("Class")="1" Then Conn.Execute("Delete from NT_ClassName") Conn.Execute("Delete from Nt_Remark Where ImageId In(select id from Nt_ImgBook)") Conn.Execute("Delete from Nt_Remark Where titleID In(select titleID from Nt_Title)") Conn.Execute("Delete from Nt_Title") Conn.Execute("Delete from Nt_ImgBook") z = z+1 End IF If Request.form("Special")="1" Then Conn.Execute("update Nt_title set specialId=0") Conn.Execute("Delete from Nt_special") z = z+1 End If IF Request.Form("Title")="1" Then Conn.Execute("Delete from Nt_Remark Where ImageId In(select id from Nt_ImgBook)") Conn.Execute("Delete from Nt_Remark Where titleID In(select titleID from Nt_Title)") Conn.Execute("Delete from Nt_Title") Conn.Execute("Delete from Nt_ImgBook") z = z+1 End IF IF Request.Form("Comment")="1" Then Conn.Execute("Delete from Nt_Remark") z = z+1 End IF IF Request.Form("Announce")="1" Then Conn.Execute("Delete from NT_Announce") z = z+1 End IF IF Request.Form("FriendSite")="1" Then Conn.Execute("Delete from NT_FriendSite") z = z+1 End IF IF z>0 Then Response.Write CStr(z) & "个数据库被清空,您可以开始添加新内容。" Else Response.Write "您没有选择任何数据库,0个数据库被清空。" End IF IF Request.Form("Class")="1" or Request.Form("Title")="1" Then Call DelFolder(Server.MapPath(Config.ImagePath(0))) Call DelFolder(Server.MapPath(Config.ImagePath(1))) Call DelFolder(Server.MapPath(Config.ImagePath(2))) Netout.SendData "DelData.asp?Action=Clear",Config.SystemUrl End IF If Request.form("ArtClass")="1" Or Request.Form("Diary")="1" Then Call DelFolder(Server.MapPath("UploadFile/Article")) End If End Sub Sub DelFolder(FolderName) 'On Error Resume Next Set MyFile = Server.CreateObject("Scripting.FileSystemObject") IF MyFile.FolderExists(FolderName) Then MyFile.DeleteFolder FolderName MyFile.CreateFolder FolderName Else MyFile.CreateFolder FolderName End IF Set MyFile = Nothing End Sub Behind.WriteHtmlEnd set Netout=nothing %>